package pl.easyshop.core.dao.common.hb;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import pl.easyshop.core.dao.CategoryDAO;
import pl.easyshop.core.dao.UserDAO;
import pl.easyshop.core.dao.UserGroupDAO;
import pl.easyshop.core.dao.common.AbstractDAORegistry;
import pl.easyshop.core.dao.common.DAORegistry;
import pl.easyshop.core.dao.hibernate.HbCategoryDAO;

/**
 * Hibernate implementation of {@link DAORegistry}.
 * 
 * @author Pawel Witkowski
 */
@Component("hbDAORegistry")
public class HbDAORegistry extends AbstractDAORegistry {

	/** Category DAO - {@link HbCategoryDAO}. */
	@Autowired
	private HbCategoryDAO hbCategoryDAO;
	
	/** User DAO - {@link HbUserDAO}. */
	@Autowired
	private UserDAO hbUserDAO;
	
	/** UserGroup DAO - {@link HbUserGroupDAO}. */
	@Autowired
	private UserGroupDAO hbUserGroupDAO;
	

	@Override
	public CategoryDAO getCategoryDAO() {
		return this.hbCategoryDAO;
	}
	
	@Override
	public UserDAO getUserDAO() {
		return this.hbUserDAO;
	}
	
	@Override
	public UserGroupDAO getUserGroupDAO() {
		return this.hbUserGroupDAO;
	}
}
